From: awilliam@xenbuild.aw Date: Wed, 26 Apr 2006 18:40:56 +0000 (-0600) Subject: [IA64] Fix vm_summary info in VTi domain X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16121 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=0dc5928a6eeb7708c8f080a367d68597a2fdecb0;p=xen.git [IA64] Fix vm_summary info in VTi domain This patch fixed vm_summary info and provide correct max_itr_entry, max_dtr_entry,impl_va_msb, rid_size and so on. Signed-off-by: Zhang xiantao --- diff --git a/xen/arch/ia64/vmx/pal_emul.c b/xen/arch/ia64/vmx/pal_emul.c index 3cdc3566b9..8118c41d08 100644 --- a/xen/arch/ia64/vmx/pal_emul.c +++ b/xen/arch/ia64/vmx/pal_emul.c @@ -21,6 +21,8 @@ #include #include #include +#include +#include static void get_pal_parameters (VCPU *vcpu, UINT64 *gr29, @@ -285,9 +287,20 @@ pal_test_info(VCPU *vcpu){ static struct ia64_pal_retval pal_vm_summary(VCPU *vcpu){ + pal_vm_info_1_u_t vminfo1; + pal_vm_info_2_u_t vminfo2; struct ia64_pal_retval result; - - result.status= -1; //unimplemented + + PAL_CALL(result,PAL_VM_SUMMARY,0,0,0); + if(!result.status){ + vminfo1.pvi1_val = result.v0; + vminfo1.pal_vm_info_1_s.max_itr_entry = NITRS -1; + vminfo1.pal_vm_info_1_s.max_dtr_entry = NDTRS -1; + result.v0 = vminfo1.pvi1_val; + vminfo2.pal_vm_info_2_s.impl_va_msb = GUEST_IMPL_VA_MSB; + vminfo2.pal_vm_info_2_s.rid_size = current->domain->arch.rid_bits; + result.v1 = vminfo2.pvi2_val; + } return result; } diff --git a/xen/include/asm-ia64/vmx_mm_def.h b/xen/include/asm-ia64/vmx_mm_def.h index 57782b7010..21cf118b54 100644 --- a/xen/include/asm-ia64/vmx_mm_def.h +++ b/xen/include/asm-ia64/vmx_mm_def.h @@ -28,6 +28,7 @@ #define ARCH_PAGE_SHIFT 12 #define ARCH_PAGE_SIZE PSIZE(ARCH_PAGE_SHIFT) #define MAX_PHYS_ADDR_BITS 50 +#define GUEST_IMPL_VA_MSB 59 #define PMASK(size) (~((size) - 1)) #define PSIZE(size) (1UL<<(size)) //#define PAGE_SIZE_4K PSIZE(12)